from abc import ABC,abstractclassmethod,abstractproperty


class Animal(ABC):
    @abstractclassmethod
    def say_name():
        pass

    @abstractproperty
    def ear():
        return "animal ear"


class Dog(Animal):
    # 普通方法
    def work():
        print("i am work")
    
    @classmethod
    def say_name():
        print("i am WangCai")
    
    @property
    def ear():
        return "dog ear"

dog = Dog()
